Welcome Guest, you are in: Login
CTS Futures

Page History: Order Mass Status Request

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2016/07/21 15:58



Order Mass Status Request

The Order Mass Status Request message (MsgType=AF) is used by the T4 FIX API to list open orders. Request can be pinpointed for a specific Account (Tag 1), User (Tag 553), SecurityID (Tag 48), Symbol (Tag 55) and Security Exchange (Tag 207). Orders can also be filtered by Time-in-Force (Tag 59). UserName filtering (Tag 553) is only available under the Multi-Trader mode (Tag 372=UCG) of the Logon message.

To list open orders, this message provides an alternative mechanism to the same functionality available with the Collateral Inquiry message.

The Order Mass Status Request message is always responded with the Execution Report message even if the request yields no open orders.

This message covers open orders with all security types including outright futures, futures options, spreads and multi-leg strategies.

Identifying specific Markets, Contracts and Exchanges

To list open orders, the order mass status request type (Tag 585) must always be specified. Open orders for all markets, accounts and users can be requested with MassStatusReqType equal to "all" (Tag 585=7).

Open orders for a specific market can be queried with Tag 585 = 1 and the SecurityID (Tag 48) set to the desired market id. A specific contract (with multiple markets) can be queried with Tag 585=3 and the Symbol (Tag 55) set to the desired contract id value. If orders for a specific exchange (with multiple contracts) are needed, the mass order status request type would be set to Exchange (Tag 585=5) and the SecurityExchange (Tag 207) set to the desired exchange id value.

To discern what values to use for the filter tags (48, 55, 207), Security Definition requests can list the current markets, contracts and exchanges.




Identifying specific Accounts, Users and Time-In-Force

The result set obtained from the order mass status request type (Tag 585) can further be filtered by Account (Tag 1) and User (Tag 553) with the optional Order status request type (Tag 5000). To request open orders for a specific account, the Order Status Request (Tag 5000) is set to 101 with the Account (Tag 1) set to the (user-authorized) account. To list open orders for a specific user (Tag 553), the Order Status Request (Tag 5000) is set to 100 with the UserName (Tag 553) set to the user. The latter (UserName) request is only available in Multi-Trader mode (see Logon message). It can only be processed for the Master User - which can only inquire for open orders executed by logged-in traders.

Open orders can also be filtered optionally by its Time-in-Force (Tag 59). See the Message Dictionary below for valid values. If Time-in-Force is not specified, open orders for all time-in-force will be listed.


Important Considerations

It is recommended to the FIX API client to track of its own open orders collection via the client's order entry mechanism. Like Collateral Inquiries, the Order Mass Status Request message is provided for reconciliation of the client's open order collection. Also, open orders are presented automatically at the start of the FIX session if AutoPortFolio Refresh is not disabled (Tag 372=d) in the Logon message.




Message Dictionary

TagField NameReq'dComments
Standard HeaderYMsgType = AF
584MassStatusReqIDYUnique identifier for Order Mass Status Request. Assigned by the FIX API client.
585MassStatusReqTypeYMass Status Request type. Open orders will be returned for the following options:
1 = Market. Open orders are listed for only the market identified by Security ID (Tag 48).
3 = Contract. Open orders are listed for only the contract identified by Symbol (Tag 55).
5 = Exchange. Open orders are listed for only the exchange identified by SecurityExchange (Tag 207).
7 = All. All open orders are listed.
5000OrdStatusReqTypeNOrder Status Request Type within the context of MassStatusReqType (Tag 585). Valid values are:
100 = User. Open orders pertaining to UserName (Tag 553) are listed. Only available in Multi-Trader mode for requests originated from Master User.
101 = Account. Open orders pertaining to Account (Tag 1) are listed.
1AccountNAccount for the optional OrdStatusReqType (Tag 5000). If not specified, open orders for all accounts are listed.
207SecurityExchangeNSpecific Security Exchange requested for the Exchange MassStatusReqType (Tag 585=5).
55SymbolNSpecific Symbol requested for the Contract MassStatusReqType (Tag 585=3)
48SecurityIDNSpecific SecurityID requested for the Market MassStatusReqType (Tag 585=1)
553UserNameNUser Name for the optional OrdStatusReqType (Tag 5000). If not specified, open orders for all users are listed. Only valid in Multi-Trader mode.
59TimeInForceNSpecifies how long the order remains in effect. Valid values are:
0 = Day
1 = Good Until Cancel
3 = Immediate or Cancel
4 = Fill Or Kill
60TransactTimeYTime the order mass status request was submitted. Specified in UTC form.
1028ManualOrderIndicatorNIndicates if the order was sent Manually (i.e. order action is immediate from a human). Valid values are:
Y = Order was entered Manually
N = Order was entered by an Automated System, Program or Algorithm
Standard TrailerY




Sample Messages

Listing all open orders:


1 - ORDERMASSSTATUSREQUEST

34=32|49=T4Test|56=test|52=20160721-17:44:19.370|584=msri-07-21-2016-12:44:19.3706427|585=7|59=0|60=20160721-17:44:19.370|

[21-Jul-2016] 12:44:19.3726972

[MsgSeqNum] 34 = 32
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20160721-17:44:19.370
[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427
[MassStatusReqType] 585 = 7 (ALL)
[TimeInForce] 59 = 0 (DAY)
[TransactTime] 60 = 20160721-17:44:19.370


2 - EXECUTIONREPORT

34=71|49=test|56=T4Test|50=T4FIX|52=20160721-17:44:19.372|143=US,IL|97=Y|1=Account1|11=fn-636047018544844180|17=607DB8AC-B3EE-4579-9260-4D1946C446BD_2_U|150=I|37=607DB8AC-B3EE-4579-9260-4D1946C446BD|39=0|48=XCME_C ZC (U16)|55=ZC|207=CME_C|200=201609|59=0|107=Corn Sep16|54=1|167=FUT|38=1|40=2|44=34050|912=N|60=20160721-17:44:17.476|21=1|204=0|584=msri-07-21-2016-12:44:19.3706427|

[21-Jul-2016] 12:44:19.3729367

[MsgSeqNum] 34 = 71
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:44:19.372
[TargetLocationID] 143 = US,IL
[PossResend] 97 = Y (YES)
[Account] 1 = Account1
[ClOrdID] 11 = fn-636047018544844180
[ExecID] 17 = 607DB8AC-B3EE-4579-9260-4D1946C446BD_2_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = 607DB8AC-B3EE-4579-9260-4D1946C446BD
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = XCME_C ZC (U16)
[Symbol] 55 = ZC
[SecurityExchange] 207 = CME_C
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = Corn Sep16
[Side] 54 = 1 (BUY)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 34050
[LastRptRequested] 912 = N (NO)
[TransactTime] 60 = 20160721-17:44:17.476
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427


3 - EXECUTIONREPORT

34=72|49=test|56=T4Test|50=T4FIX|52=20160721-17:44:19.372|143=US,IL|97=Y|1=Account1|11=fn-636046978602258221|17=B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U|150=I|37=B5F1A5EB-ECA0-4E24-826B-6F57542D0829|39=0|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=2|167=FUT|38=1|40=2|44=214950|912=N|60=20160721-16:37:43.137|21=1|204=0|584=msri-07-21-2016-12:44:19.3706427|

[21-Jul-2016] 12:44:19.3730290

[MsgSeqNum] 34 = 72
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:44:19.372
[TargetLocationID] 143 = US,IL
[PossResend] 97 = Y (YES)
[Account] 1 = Account1
[ClOrdID] 11 = fn-636046978602258221
[ExecID] 17 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = XCME_Eq ES (U16)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = E-mini S&P 500 Sep16
[Side] 54 = 2 (SELL)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 214950
[LastRptRequested] 912 = N (NO)
[TransactTime] 60 = 20160721-16:37:43.137
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427


4 - EXECUTIONREPORT

34=73|49=test|56=T4Test|50=T4FIX|52=20160721-17:44:19.373|97=Y|1=Account2|11=fn-636046979248572065|17=DBE4D731-AD6F-473B-9500-3E4CC0922526_3_U|150=I|37=DBE4D731-AD6F-473B-9500-3E4CC0922526|39=0|48=D_F_F_20160900|55=F|207=D_F|200=201609|59=0|107=D-Financial (00:00) Sep16|54=2|167=FUT|38=1|40=2|44=13800|912=Y|60=20160721-16:38:47.748|21=1|204=0|584=msri-07-21-2016-12:44:19.3706427|

[21-Jul-2016] 12:44:19.3731161

[MsgSeqNum] 34 = 73
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:44:19.373
[PossResend] 97 = Y (YES)
[Account] 1 = Account2
[ClOrdID] 11 = fn-636046979248572065
[ExecID] 17 = DBE4D731-AD6F-473B-9500-3E4CC0922526_3_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = DBE4D731-AD6F-473B-9500-3E4CC0922526
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = D_F_F_20160900
[Symbol] 55 = F
[SecurityExchange] 207 = D_F
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = D-Financial (00:00) Sep16
[Side] 54 = 2 (SELL)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 13800
[LastRptRequested] 912 = Y (YES)
[TransactTime] 60 = 20160721-16:38:47.748
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427


Listing open orders for a specific market:


1 - ORDERMASSSTATUSREQUEST

34=22|49=T4Test|56=test|52=20160721-17:41:37.053|584=msri-07-21-2016-12:41:37.0530039|585=1|48=XCME_Eq ES (U16)|59=0|60=20160721-17:41:37.053|

[21-Jul-2016] 12:41:37.0547610

[MsgSeqNum] 34 = 22
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20160721-17:41:37.053
[MassStatusReqID] 584 = msri-07-21-2016-12:41:37.0530039
[MassStatusReqType] 585 = 1 (MARKET)
[SecurityID] 48 = XCME_Eq ES (U16)
[TimeInForce] 59 = 0 (DAY)
[TransactTime] 60 = 20160721-17:41:37.053


2 - EXECUTIONREPORT

34=60|49=test|56=T4Test|50=T4FIX|52=20160721-17:41:37.054|143=US,IL|97=Y|1=Account1|11=fn-636046978602258221|17=B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U|150=I|37=B5F1A5EB-ECA0-4E24-826B-6F57542D0829|39=0|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=2|167=FUT|38=1|40=2|44=214950|912=Y|60=20160721-16:37:43.137|21=1|204=0|584=msri-07-21-2016-12:41:37.0530039|

[21-Jul-2016] 12:41:37.0549716

[MsgSeqNum] 34 = 60
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:41:37.054
[TargetLocationID] 143 = US,IL
[PossResend] 97 = Y (YES)
[Account] 1 = Account1
[ClOrdID] 11 = fn-636046978602258221
[ExecID] 17 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = XCME_Eq ES (U16)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = E-mini S&P 500 Sep16
[Side] 54 = 2 (SELL)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 214950
[LastRptRequested] 912 = Y (YES)
[TransactTime] 60 = 20160721-16:37:43.137
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:41:37.0530039


Listing open orders for a specific account:


1 - ORDERMASSSTATUSREQUEST

34=2|49=T4Test|56=test|52=20160721-17:33:55.753|584=msri-07-21-2016-12:33:55.7537682|585=7|5000=101|1=Account1|59=0|60=20160721-17:33:55.753|

[21-Jul-2016] 12:33:55.7562146

[MsgSeqNum] 34 = 2
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20160721-17:33:55.753
[MassStatusReqID] 584 = msri-07-21-2016-12:33:55.7537682
[MassStatusReqType] 585 = 7 (ALL)
[OrdStatusReqType] 5000 = 101 (ACCOUNT)
[Account] 1 = Account1
[TimeInForce] 59 = 0 (DAY)
[TransactTime] 60 = 20160721-17:33:55.753



2 - EXECUTIONREPORT

34=40|49=test|56=T4Test|50=T4FIX|52=20160721-17:33:55.756|143=US,IL|97=Y|1=Account1|11=fn-636046978602258221|17=B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U|150=I|37=B5F1A5EB-ECA0-4E24-826B-6F57542D0829|39=0|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=2|167=FUT|38=1|40=2|44=214950|912=Y|60=20160721-16:37:43.137|21=1|204=0|584=msri-07-21-2016-12:33:55.7537682|

[21-Jul-2016] 12:33:55.7564302

[MsgSeqNum] 34 = 40
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:33:55.756
[TargetLocationID] 143 = US,IL
[PossResend] 97 = Y (YES)
[Account] 1 = Account1
[ClOrdID] 11 = fn-636046978602258221
[ExecID] 17 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = XCME_Eq ES (U16)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = E-mini S&P 500 Sep16
[Side] 54 = 2 (SELL)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 214950
[LastRptRequested] 912 = Y (YES)
[TransactTime] 60 = 20160721-16:37:43.137
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:33:55.7537682


FIX API Home Page.

Trade how you want, where you want

support@ctsfutures.com (312) 939 0164

2 Pierce Pl, Suite 200, Itasca, IL 60143

© 2009-2023 Cunningham Trading Systems LLC All rights reserved.